home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
TPUG - Toronto PET Users Group
/
TPUG Users Group CD
/
TPUG Users Group CD.iso
/
CRS
/
crs08.d81
/
unscr81.prg
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2009-10-10
|
2KB
|
58 lines
10 POKE53280,0:POKE53281,0
20 PRINT"[147]UNSCRATCH FILE"
30 PRINT"[159]COPYRIGHT (C) 1987 BY JIM DREW"
40 IFQP>0THENGOTO80
50 PRINT"[159]INSERT DISK TO BE CHECKED INTO DRIVE"
60 PRINT"AND PRESS [RETURN]"
70 GETX$:IFX$<>CHR$(13)THEN70
80 PRINT"[159]FILE TO UNSCRATCH? (* FOR WILD CARD)"
90 INPUTN$:IFN$=""THENEND
100 Q=32:F=256:T=40:S=3:W=0
110 Z$=CHR$(0):D$=RIGHT$(STR$(D),1)
120 N$=LEFT$(N$,16):L=LEN(N$)
130 IFRIGHT$(N$,1)<>"*"THEN150
140 L=L-1:N$=LEFT$(N$,L):W=1:GOTO170
150 IFL=16THEN170
160 FORX=L+1TO16:N$=N$+CHR$(160):NEXT:L=16
170 OPEN1,8,15,"I"+D$:GOSUB500
180 OPEN2,8,2,"#":GOSUB500
190 PRINT#1,"U1:";2;D;T;S:GOSUB 500
200 PRINT#1,"B-P:";2;0:GET#2,A$,B$
210 TR=ASC(A$+Z$):SC=ASC(B$+Z$):H=2
220 PRINT#1,"B-P:";2;H:GET#2,T$
230 C=ASC(T$+Z$):IFC>0THEN270
240 GET#2,A$,B$:F$="":FORX=1TO16
250 GET#2,T$:F$=F$+T$:NEXT:IFF$=""THEN290
260 IFL=0ORN$=LEFT$(F$,L)THEN330
270 H=H+Q:IFH<FTHEN220
280 IFTR>0THENT=TR:S=SC:GOTO190
290 IFWTHENPRINT"NO MORE FILES...":GOTO460
300 PRINT"[159]FILE NOT FOUND IN DIRECTORY"
310 FORDE=1TO4000:NEXT
320 CLOSE2:CLOSE1:GOTO80
330 A=ASC(A$+Z$):B=ASC(B$+Z$)
340 PRINT"[147][159]SCRATCHED FILE:";F$
350 PRINT"[159]STARTING ON TRACK";A;"[157], SECTOR";B
360 PRINT"[159]REVIVE THIS FILE";
370 INPUTX$:IFX$="Y"THEN400
380 IFWTHEN270
390 PRINT:GOTO460
400 PRINT"1[159]=SEQ 2[159]=PRG 3[159]=USR 4[159]=REL 5[159]=CBM "
410 PRINT"ENTER FILE TYPE (1[159]-5[159])";
420 INPUTP:IFP<1ORP>5THEN380
430 PRINT#1,"B-P:";2;H:PRINT#2,CHR$(P+128);
440 PRINT#1,"U2:";2;D;T;S:GOSUB500:G=1
450 PRINT"FILE IS UNSCRATCHED":IFWTHENPRINT"[145][145]":GOTO270
460 PRINT"[159]REVIVE MORE FILES (Y[159]/N[159])";
470 INPUTX$:IFX$="Y"THENCLOSE2:CLOSE1:GOTO10
480 IFG<>0THENCLOSE2:CLOSE1:GOTO550
490 CLOSE1:CLOSE2:CLOSE15:PRINT"[147]":END
500 INPUT#1,E,M$,J,K:IF E=0 THEN RETURN
510 PRINT "ERROR: ";E;M$;J;K
520 CLOSE2:CLOSE1:CLOSE15:PRINT"[155]PRESS ANY KEY TO CONTINUE"
530 GETK$:IFK$=""THEN530
540 CLR:GOTO10
550 PRINT"RE-BUILDING VALID BAM"
570 OPEN 1,8,15,"V"+D$:CLOSE1:CLR:GOTO10
580 RETURN